strcmp()
এবং strncmp()
এর মাধ্যমে স্ট্রিং তুলনাসি প্রোগ্রামিং ভাষায় স্ট্রিং তুলনা করার জন্য দুটি গুরুত্বপূর্ণ ফাংশন রয়েছে: strcmp()
এবং **strncmp()
**। এই ফাংশন দুটি স্ট্রিংয়ের মধ্যে সমানতা যাচাই করতে বা তাদের মধ্যে পার্থক্য নির্ধারণ করতে ব্যবহৃত হয়।
এখানে বিস্তারিত আলোচনা করা হলো:
strcmp()
– স্ট্রিং তুলনা (পুরো স্ট্রিং)strcmp()
ফাংশনটি দুটি স্ট্রিংয়ের মধ্যে সমানতা বা পার্থক্য যাচাই করার জন্য ব্যবহৃত হয়। এটি দুটি স্ট্রিংয়ের প্রতিটি অক্ষর একে অপরের সাথে তুলনা করে। যদি দুটি স্ট্রিং সমান হয়, তবে এটি 0
রিটার্ন করে, অন্যথায় এটি একটি নেতিবাচক বা ধনাত্মক মান রিটার্ন করে, যা স্ট্রিংয়ের পার্থক্য নির্ধারণ করে।
int strcmp(const char *str1, const char *str2);
str1
এবং str2
হলো তুলনা করার জন্য দুটি স্ট্রিং।str1 == str2
, তাহলে এটি 0
রিটার্ন করবে।str1 < str2
, তাহলে এটি একটি নেতিবাচক মান রিটার্ন করবে।str1 > str2
, তাহলে এটি একটি ধনাত্মক মান রিটার্ন করবে।#include <stdio.h>
#include <string.h>
int main() {
char str1[] = "Hello";
char str2[] = "Hello";
char str3[] = "World";
int result1 = strcmp(str1, str2); // সমান স্ট্রিং
int result2 = strcmp(str1, str3); // আলাদা স্ট্রিং
printf("strcmp(str1, str2) = %d\n", result1); // 0 রিটার্ন করবে
printf("strcmp(str1, str3) = %d\n", result2); // একটি ধনাত্মক মান রিটার্ন করবে
return 0;
}
strcmp(str1, str2) = 0
strcmp(str1, str3) = -15
strncmp()
– স্ট্রিং তুলনা (নির্দিষ্ট সংখ্যক ক্যারেক্টার)strncmp()
ফাংশনটি দুটি স্ট্রিংয়ের প্রথম **n
**টি ক্যারেক্টার তুলনা করতে ব্যবহৃত হয়। এটি একইভাবে কাজ করে যেমন strcmp()
, তবে এটি শুধুমাত্র প্রথম n
ক্যারেক্টার পর্যন্ত তুলনা করে। এটি তখন ব্যবহার করা হয় যখন আপনি শুধুমাত্র একটি নির্দিষ্ট অংশের স্ট্রিং তুলনা করতে চান।
int strncmp(const char *str1, const char *str2, size_t n);
str1
এবং str2
হলো তুলনা করার জন্য দুটি স্ট্রিং।n
হল তুলনা করার জন্য কতটা ক্যারেক্টার ব্যবহার করা হবে।যদি প্রথম n
ক্যারেক্টারের মধ্যে স্ট্রিংগুলো সমান হয়, তবে এটি 0
রিটার্ন করবে। অন্যথায়, এটি একটি নেতিবাচক বা ধনাত্মক মান রিটার্ন করবে।
#include <stdio.h>
#include <string.h>
int main() {
char str1[] = "Hello World";
char str2[] = "Hello";
char str3[] = "Hello";
int result1 = strncmp(str1, str2, 5); // প্রথম 5 ক্যারেক্টার তুলনা
int result2 = strncmp(str2, str3, 5); // প্রথম 5 ক্যারেক্টার তুলনা
printf("strncmp(str1, str2, 5) = %d\n", result1); // 0 রিটার্ন করবে (কারণ প্রথম 5 ক্যারেক্টার সমান)
printf("strncmp(str2, str3, 5) = %d\n", result2); // 0 রিটার্ন করবে (কারণ প্রথম 5 ক্যারেক্টার সমান)
return 0;
}
strncmp(str1, str2, 5) = 0
strncmp(str2, str3, 5) = 0
এখানে, strncmp()
শুধুমাত্র প্রথম 5 ক্যারেক্টারের তুলনা করেছে, তাই প্রথম স্ট্রিং এবং দ্বিতীয় স্ট্রিংয়ের মধ্যে Hello
অংশটি সমান হওয়ায় 0
রিটার্ন হয়েছে।
strcmp()
এবং strncmp()
এর মধ্যেফাংশন | বর্ণনা | ব্যবহার |
---|---|---|
strcmp() | দুটি স্ট্রিংয়ের সমস্ত ক্যারেক্টার তুলনা করে। | দুটি স্ট্রিং সম্পূর্ণরূপে তুলনা করতে। |
strncmp() | দুটি স্ট্রিংয়ের প্রথম n ক্যারেক্টার তুলনা করে। | দুটি স্ট্রিংয়ের একটি নির্দিষ্ট অংশ তুলনা করতে। |
strcmp()
পুরো স্ট্রিং তুলনা করে, তবে strncmp()
শুধু প্রথম n
ক্যারেক্টার পর্যন্ত তুলনা করে।
strcmp()
: দুটি স্ট্রিং সম্পূর্ণ তুলনা করে এবং স্ট্রিং সমান হলে 0
রিটার্ন করে, অন্যথায় পার্থক্যের উপর ভিত্তি করে একটি ধনাত্মক বা নেতিবাচক মান রিটার্ন করে।strncmp()
: দুটি স্ট্রিংয়ের প্রথম n
ক্যারেক্টার তুলনা করে এবং স্ট্রিং সমান হলে 0
রিটার্ন করে, অন্যথায় পার্থক্যের উপর ভিত্তি করে একটি ধনাত্মক বা নেতিবাচক মান রিটার্ন করে। এটি বিশেষ করে যখন স্ট্রিংয়ের কিছু অংশ তুলনা করতে হয় তখন ব্যবহৃত হয়।এই ফাংশনগুলো স্ট্রিং অপারেশনে গুরুত্বপূর্ণ ভূমিকা পালন করে এবং আপনাকে সঠিকভাবে স্ট্রিং তুলনা করতে সহায়ক।
common.read_more